package ar.unrn.tp1.model;

import java.util.Set;

public class Articulo {

	//Hibernate necesita esto
	private String id;
	
	private String nombre;
	private Set<Autor> autores;
	private Set<String> temas;

	public Articulo(String nombre, Set<String> temas, Set<Autor> autores) {
		this.nombre = nombre;
		this.temas = temas;
		this.autores = autores;
	}
	
	// solo requerido por Hibernate
	@SuppressWarnings("unused")	
	private Articulo() { }
	
	public Set<String> getTemas() {
		return temas;
	}

	public boolean tieneTitulo(String titulo) {
		return this.nombre.equals(titulo);
	}

	
	public boolean contieneEnElTitulo(String palabra) {
		return this.nombre.contains(palabra);
	}

	public boolean hablaSobreElTema(String elTema) {
		for (String tema : temas) {
			if (tema.equals(elTema)) {
				return true;
			}
		}
		return false;
	}

	public boolean fueEscritoPor(String nombreAutor) {
		for (Autor autor : autores) {
			if (autor.tieneNombre(nombreAutor)) {
				return true;
			}
		}
		return false;
	}

	public Set<Autor> getAutores() {
		return autores;
	}

	// solo requerido por Hibernate
	@SuppressWarnings("unused")	
	private void setTemas(Set<String> temas) {
		this.temas = temas;
	}

	// solo requerido por Hibernate
	@SuppressWarnings("unused")
	private void setAutores(Set<Autor> autores) {
		this.autores = autores;
	}

	// solo requerido por Hibernate
	@SuppressWarnings("unused")
	private String getId() {
		return id;
	}

	// solo requerido por Hibernate
	@SuppressWarnings("unused")	
	private void setId(String id) {
		this.id = id;
	}
	
	public String getNombre() {
		return nombre;
	}

	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
}
